iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 1
1
自我挑戰組

一日一CPE系列 第 1

[Day1]10107: What is the Median?

  • 分享至 

  • xImage
  •  

考題日期:2010/10/11
題號:10107
星等:2
語言:C++


題目:
https://ithelp.ithome.com.tw/upload/images/20190917/20120937UgqVAjXDEG.png


題意:
每次輸入一個數字後,將輸入的數字加入原有陣列裡並排序,並從中找到中位數。


程式:

#include <iostream>

using namespace std;

int main()
{
    int num[10000];
    int c = 0;
    int x;
    while( cin >> num[c] )      //將新輸入的值放在陣列的最後
    {
        x = num[c];
        for(int i = 0 ; i <= c ; i++)
        {
            if( x <= num[i] )   //尋找大於x值的位置
            {
                for(int j = c+1 ; j > i;j--)
                {
                    num[j] = num[j-1]; //將欲放入x的位置空出來,其之後的數值往後放
                }
                num[i] = x;      //將輸入值放入挖空之位置
                break;
            }
        }
        if(c%2 ==0)              //找出並輸出中位數
            cout<<num[c/2]<<endl;
        else
            cout<<(num[c/2]+num[c/2+1])/2<<endl;
        c++;
    }
    return 0;
}

測資:
https://ithelp.ithome.com.tw/upload/images/20190917/20120937wJZboa1qgB.png


心得:
第一次參加鐵人賽,其實有點害怕自己會放棄拉,但希望自己的能堅持到最後。


下一篇
[Day2]10684: The jackpot
系列文
一日一CPE30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言